package ar.edu.utn.frba.disenio.model.tests.entrega3;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import com.oceanic.AerolineaOceanic;
import com.oceanic.AsientoDTO;

public class OceanicMOCK extends AerolineaOceanic {
	
	List<AsientoDTO> asientosDisponibles = new ArrayList<AsientoDTO>();
	private static AerolineaOceanic INSTANCE;
	
	protected OceanicMOCK(){
		asientosDisponibles.add(new AsientoDTO("OC100",10,"30/11/2012","30/11/2012","10:35","05:35",new BigDecimal("3150.98"),"Ejecutiva","Pasillo",false,"_BS","SLA"));
		asientosDisponibles.add(new AsientoDTO("OC100",11,"30/11/2012","30/11/2012","10:35","05:35",new BigDecimal("2123.09"),"Ejecutiva","Pasillo",false,"_BS","SLA"));
		asientosDisponibles.add(new AsientoDTO("OC100",12,"30/11/2012","30/11/2012","10:35","05:35",new BigDecimal("1500"),"Ejecutiva","Pasillo",false,"_BS","SLA"));
		asientosDisponibles.add(new AsientoDTO("OC100",13,"30/11/2012","30/11/2012","10:35","05:35",new BigDecimal("3400.32"),"Ejecutiva","Pasillo",false,"_BS","SLA"));
		asientosDisponibles.add(new AsientoDTO("OC100",14,"30/11/2012","30/11/2012","10:35","05:35",new BigDecimal("500"),"Turista","Ventana",false,"_BS","SLA"));
		asientosDisponibles.add(new AsientoDTO("OC100",15,"30/11/2012","30/11/2012","10:35","05:35",new BigDecimal("800.70"),"Ejecutiva","Ventana",false,"_BS","SLA"));
		asientosDisponibles.add(new AsientoDTO("OC100",16,"30/11/2012","30/11/2012","10:35","05:35",new BigDecimal("15000"),"Ejecutiva","Ventana",false,"_BS","SLA"));
		asientosDisponibles.add(new AsientoDTO("OC100",17,"30/11/2012","30/11/2012","10:35","05:35",new BigDecimal("10000"),"Ejecutiva","Ventana",false,"_BS","SLA"));
	}
	
	public static AerolineaOceanic getInstance(){
		if(INSTANCE == null){
			INSTANCE = new OceanicMOCK();
		}
		return INSTANCE;
	}
	
	@Override
	public List<AsientoDTO> asientosDisponiblesParaOrigen(String origen, String fechaDeSalida){
		return this.getAsientos();
	}
	
	@Override
	public List<AsientoDTO> asientosDisponiblesParaOrigenYDestino(String origen, String destino, String fechaDeSalida){
		return this.getAsientos();
	}
	
	@Override
	public Boolean reservar(String dni, String codVuelo, Integer numAsiento){
		return true;
	}
	
	public List<AsientoDTO> getAsientos(){
		return asientosDisponibles;
	}
	
	@Override
	public Boolean comprarSiHayDisponibilidad(String dni, String codigoVuelo,Integer numeroDeAsiento){
		return true;
	}
	

}
